The present invention relates to a resource allocation method and a resource allocation program which can be appropriately applied to a relational database management system and a technique associated with a managing server which manages the resource allocation.
A DBMS (Database Management System) is a system for responding to a query about data in a database. Especially widely used is a RDBMS (Relational Database Management System) in which a database is described in a table format. As a language describing the data query, the SQL (Structured Query Language) is widely used.
In order to respond to a number of queries, it is necessary to reduce the time required for processing each of the queries. For example, conventionally, processing of the queries are distributed to a plurality of SQL and each of the SQL processes is distributed to a plurality of computers so as to be executed in a parallel process such as a pipeline process.
It should be noted that the distribution algorithm which decides which SQL is to be distributed to which computer is very important. For example, according to the technique disclosed in Joel L. Wolf, John Turek, Ming-Syan Chen and Philip S. Yu, “A Hierarchical Approach to Parallel Multiquery Scheduling”, IEEE Transactions on Parallel and Distributed Systems, 6 (6): 578-590, June 1995, each of the SQL processes is distributed according to various statistical information associated with the queries to be processed and stored in a DBMS dictionary.
Moreover, David DeWitt and Jim Gray, “Parallel Database Systems: The Future of High Performance Database Systems”, COMMUNICATIONS OF THE ACM, vol. 35, No. 6, June 1992, P. 85-P. 98 discloses an architecture for distributing a database processing load to a plurality of computers for parallel execution. In a Shared everything architecture, Shared disk (shared use type) architecture disclosed in this document, all the computers executing the DB (database) processes can access all the data.
In a Shared nothing (non-shared use type) architecture, only the data stored in a disk connected to a local computer can be accessed. As compared to the Shared everything type architecture, in the Shared nothing type architecture, the amount of the shared resource between the configuration unit executing the DB process is small and the scalability is excellent. However, when data deviation is present in each of the computers, a load is concentrated in a particular computer and a processing overhead is generated as compared to a case when effective parallel processing is executed without deviation.
To cope with this, JP-A-2005-56391 builds a plurality of virtual computers existing in the same computer and performs computer resource allocation according to the computer CPU resource information, thereby balancing the load.